ফাইল ইনপুট/আউটপুট অপারেশন (File Input/Output Operations) হল একটি প্রোগ্রামে ফাইলের সাথে ডেটা পড়া (Input) এবং লেখার (Output) কার্যক্রম। ফাইল I/O অপারেশনগুলি খুবই গুরুত্বপূর্ণ, কারণ এটি ডেটা সংরক্ষণ এবং প্রোগ্রামের মধ্যে স্থায়ী তথ্য আদান-প্রদান করতে সাহায্য করে।
ফাইল I/O অপারেশন সাধারণত দুটি প্রধান ধরনের হয়:
ফাইল I/O অপারেশনগুলি বিভিন্ন ভাষায় আলাদা হতে পারে। এখানে আমি Python-এ ফাইল I/O অপারেশন কিভাবে করা হয়, তা ব্যাখ্যা করব। অন্যান্য ভাষায়ও ফাইল I/O অপারেশন প্রায় একইভাবে কাজ করে, তবে সিনট্যাক্স কিছুটা ভিন্ন হতে পারে।
ফাইল থেকে ডেটা পড়ার জন্য কিছু গুরুত্বপূর্ণ মেথড আছে:
read()
: পুরো ফাইলটি একবারে পড়ে।readline()
: এক লাইনে একটি করে পড়বে।readlines()
: ফাইলের সমস্ত লাইনকে একটি লিস্টে রিটার্ন করবে।# ফাইল পড়া
with open('example.txt', 'r') as file:
content = file.read() # পুরো ফাইল পড়া
print(content)
এই উদাহরণে, 'example.txt'
ফাইলটি পড়া হচ্ছে এবং এর সমস্ত কনটেন্ট content
ভেরিয়েবলে সংরক্ষিত হচ্ছে। with open()
ব্লক ব্যবহার করলে ফাইল অটোমেটিকভাবে বন্ধ হয়ে যায়।
readline()
):with open('example.txt', 'r') as file:
line = file.readline() # এক লাইনে পড়বে
print(line)
readlines()
):with open('example.txt', 'r') as file:
lines = file.readlines() # সব লাইন পড়বে এবং লিস্টে রাখবে
for line in lines:
print(line.strip()) # প্রতিটি লাইন প্রিন্ট করা
ফাইলে ডেটা লেখার জন্য কিছু সাধারণ মেথড আছে:
write()
: ফাইলে এক্সপ্লিসিট ডেটা লেখার জন্য ব্যবহৃত হয়।writelines()
: লিস্ট বা অন্য Iterable থেকে ডেটা লেখার জন্য ব্যবহৃত হয়।# ফাইলে লেখা
with open('example.txt', 'w') as file:
file.write('Hello, World!\n') # একটি লাইনে লিখব
file.write('This is a new line.')
এখানে 'example.txt'
ফাইলটি লেখার জন্য খোলা হয়েছে এবং write()
মেথডের মাধ্যমে ডেটা ফাইলে লেখা হচ্ছে। ফাইলটি নতুন করে তৈরি হবে, অথবা যদি ফাইলটি আগে থেকেই থাকে, তাহলে তার পূর্ববর্তী কনটেন্ট মুছে গিয়ে নতুন কনটেন্ট লেখা হবে।
writelines()
):lines = ['Line 1\n', 'Line 2\n', 'Line 3\n']
with open('example.txt', 'w') as file:
file.writelines(lines) # একাধিক লাইন লেখা
যদি একটি ফাইল মুছে ফেলার প্রয়োজন হয়, তাহলে os
মডিউল ব্যবহার করা যেতে পারে।
import os
os.remove('example.txt') # ফাইল মুছে ফেলবে
ফাইলের শেষে নতুন কনটেন্ট যোগ করতে হলে append
মোডে ফাইল খোলার প্রয়োজন হয়।
# ফাইলে নতুন কনটেন্ট যোগ করা
with open('example.txt', 'a') as file:
file.write('Appending new data to the file.\n')
এখানে 'a'
মোড ব্যবহার করা হয়েছে, যা ফাইলের শেষে নতুন তথ্য যোগ করবে, পূর্ববর্তী তথ্য মুছে যাবে না।
ফাইল I/O অপারেশন সম্পন্ন হওয়ার পর ফাইল বন্ধ করা উচিত, যদিও with open()
ব্যবহারের মাধ্যমে ফাইল স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়। তবে, যদি open()
ব্যবহার করেন, তাহলে আপনাকে close()
মেথডটি ব্যবহার করে ফাইলটি বন্ধ করতে হবে।
file = open('example.txt', 'r')
content = file.read()
file.close() # ফাইল বন্ধ করা
ফাইলটি খোলার জন্য বিভিন্ন মোড রয়েছে:
'r'
: রিড মোড, শুধুমাত্র ফাইলটি পড়তে হবে।'w'
: রাইট মোড, ফাইলটিতে লিখতে হবে। যদি ফাইলটি না থাকে তবে নতুন ফাইল তৈরি হবে।'a'
: অ্যাপেন্ড মোড, ফাইলের শেষে নতুন ডেটা যোগ করা হবে।'b'
: বাইনারি মোড, বাইনারি ডেটা পড়তে বা লিখতে ব্যবহৃত হয়।'x'
: এক্সক্লুসিভ ক্রিয়েশন, ফাইলটি যদি পূর্বে থাকে তবে ত্রুটি দেবে।উদাহরণ:
# রাইট মোডে ফাইল খোলা
with open('example.txt', 'w') as file:
file.write('Writing to file in write mode.')
ফাইল I/O অপারেশনের সময় বিভিন্ন ধরনের ত্রুটি ঘটতে পারে, যেমন:
FileNotFoundError
এই ধরনের ত্রুটি ধরার জন্য try-except
ব্লক ব্যবহার করা যেতে পারে:
try:
with open('non_existent_file.txt', 'r') as file:
content = file.read()
except FileNotFoundError:
print("ফাইলটি পাওয়া যায়নি!")
except PermissionError:
print("ফাইলটি পড়ার অনুমতি নেই!")
read()
, write()
, readlines()
, writelines()
ইত্যাদি ব্যবহার করে করা হয়।'r'
, 'w'
, 'a'
, 'x'
ইত্যাদি)।এভাবে ফাইল I/O অপারেশনগুলি বিভিন্ন প্রোগ্রামে কার্যকরীভাবে ব্যবহৃত হতে পারে।
Read more